/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.itsc.dsw2.vista;

import java.util.List;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.event.ActionEvent;
import mx.its.dsw2.biblioteca.bl.AutorBlLocal;
import mx.its.dsw2.biblioteca.modelo.Autor;

/**
 *
 * @author Pepe
 */
@ManagedBean
@SessionScoped
public class AuthorBean {
    //--------------------LLamadas a los EJB's------

    @EJB
    private AutorBlLocal autorBl;
    
    //------variables (propiedades-------------------------------
    private List<Autor> lista;
    private Autor author;
    private String accion;
    /**
     * Creates a new instance of AuthorBean
     */
    public AuthorBean() {

        author = new Autor();


    }
///metodos get set------------------

    public List<Autor> getLista() {
        lista = autorBl.getAll();
        return lista;
    }

    public Autor getAuthor() {
        return author;
    }

    public void setAuthor(Autor author) {
        this.author = author;
    }

//-----------acciones___________________
//public String prepararNuevo(){
//author= new Autor();
//return"AutorCrearEditar";
//
//}
    public String procesarAccion() {
        if(accion.equalsIgnoreCase("Nuevo")){
            autorBl.Register(author);
        
        }else{
            if(accion.equalsIgnoreCase("Editar")){
                autorBl.modify(author);
                
        }else{
                if(accion.equalsIgnoreCase("Eliminar")){
                autorBl.delete(author);
            }
        }
        }
        accion="";
        return "AutorLista";
        
    }
    
//------------Listeners-----------------------
    public void prepararNuevo() {
       accion="Nuevo";
        author = new Autor();
    }
     public void prepararEditar(ActionEvent evt) {
//         System.out.println(evt.getComponent().getClientId());
//         String arr[]=evt.getComponent().getClientId().split(":");
//         String id=arr[2];
//         int index=Integer.parseInt(id);
         accion="Editar";
         int index=Integer.parseInt(evt.getComponent().getClientId().split(":")[2]);
         author=lista.get(index);
     }
     public void prepararEliminar(ActionEvent evt) {
         accion="Eliminar";
         int index=Integer.parseInt(evt.getComponent().getClientId().split(":")[2]);
         author=lista.get(index);
     }
    
}